The present invention relates generally to computer systems and computer networks. More particularly, the present invention relates to a system and method for providing computer upgrade information based upon component-related data present on a client computer.
The contents of each U.S. patent or other reference, if any, cited in this application, are hereby incorporated herein by reference.
The computer has become a permanent fixture in society. Computers are used to facilitate data communications and electronic commerce between businesses, and to gather various types of data such as news, stock market quotes, research facts, sport scores, etc. Furthermore, computers serve as a source of entertainment through audio and/or visual output display. Just about every aspect of daily life is affected by computers.
The high technology environment of computers is constantly changing. Typically, staying current with evolving computer technology requires the user to choose between the economics of a computer system replacement or a computer system upgrade. In a computer system upgrade, users attempt to choose upgrade hardware most appropriate for their particular needs and operating environment. For example, common upgrade hardware considerations include faster processor speed, enhanced video capabilities, increased memory, network capabilities, particular I/O devices, etc. For a vendor to provide a meaningful computer upgrade recommendation, the vendor must typically gather information from the user regarding the hardware and software configuration of the user""s client computer.
Such data gathering methods include phone or mail surveys, and registration packets filled out by the user after purchase of the computer components or system. Another data gathering method involves electronic transfer of data from the user to the vendor. For example, the user enters information about the user""s computer via on-screen menus, and the information is transmitted to a server computer generally via the Internet, regarding the model of the users computer. The user is then presented with information about their system including upgrade products and paths. Although this method offers upgrade options and is viewed by many as an improvement over prior methods, its success is dependent on the user""s knowledge of the client computer""s current configuration.
Another method described in U.S. Pat. No. 6,370,578, issued Apr. 9, 2002 and titled xe2x80x9cActive Marketing Based On Client Computer Configurationsxe2x80x9d, uses a product information database which contains product signatures. The client""s system is scanned (e.g., by server software) for the presence of the product signatures corresponding to each product in the product information database to determine if each product is present on the client computer. This method relies less on the user""s actual knowledge of his or her client computer than does the previously-described methods, but nonetheless this method is very inefficient because most of the products scanned for are typically not present on the client""s computer. Further, the data gathered from such scanning is not always accurate and/or complete enough to allow the vendor to make an optimal upgrade recommendation. This is due to inherent limitations in the manner in which industry-standard SMBIOS (System Management Basic Input/Output System) and SPD (Serial Presence Detect) data is created, reported, accessed, and/or used in combination with other data to determine the true system state of a client computer.
Since optimizing the accuracy of an upgrade recommendation results in enhanced product reliability and component compatibility, an accurate upgrade recommendation should be based on the most reliable data in determining the current system configuration. Accordingly, there is a need for a system and method of providing upgrade information for a computer that is more accurate, efficient, and reliable than known methods.
Systems and methods are disclosed which provide upgrade information for a client computer. The detection of a current hardware configuration of the client computer is facilitated by: 1) reading serial presence detect (SPD) data from the client computer; 2) reading motherboard parameters (such as the product ID and manufacturer ID of the motherboard); and/or 3) identifying the SPD write-protect status of the SPD chip on the client computer. Additionally or alternatively, detection of the current hardware configuration may be facilitated by: 4) reading other OS data such as system name and operating system version and/or performing tests to determine certain computer characteristics such as memory utilization or CPU speed. In most instances, the information gathered is cross-referenced with a proprietary database of product specifications, to confirm the information is accurate.
The current hardware configuration of the client computer is then compared to a target hardware configuration to identify an upgrade package for upgrading the client computer to the target hardware configuration, and a recommendation is provided to use the upgrade package for upgrading the client computer. Identification of the upgrade package is based at least partially upon the information gathered.
The method of the present invention may be carried out by a system of the present invention embodied in computer software. Conceptually, the software includes various modules to accomplish discrete tasks. The modules may be wholly or partially combined, or split into more discrete sub-modules as desired. In general, the system includes: a detect module for detecting a current hardware configuration of the client computer; a compare module for comparing the current hardware configuration to a target hardware configuration to identify an upgrade package for upgrading the client computer to the target hardware configuration; and a recommend module for providing a recommendation to use the upgrade package for upgrading the client computer. An optional cross-reference module is used for cross-referencing information about the current configuration of the client computer, gathered by the detect module, with a product information database.
The detect module detects the hardware configuration of the client computer by performing at least one task from the group of tasks consisting of (a, b, c), or at least one task from the group of tasks consisting of (a, b, c, d, e), to gather information associated with the client computer. Task xe2x80x9caxe2x80x9d refers to accessing SPD data from an SPD chip of the client computer. Task xe2x80x9cbxe2x80x9d refers to accessing motherboard parameters from the memory of the client computer, such as a manufacturer ID and a product ID of the motherboard. Task xe2x80x9ccxe2x80x9d refers to determining a write-protect status of the serial presence detect chip of the client computer. Task xe2x80x9cdxe2x80x9d refers to reading OS data such as system name and/or operating system version. Task xe2x80x9cexe2x80x9d refers to performing a test or tests to determine certain computer characteristics such as memory utilization and/or CPU speed. The compare module identifies the upgrade package based at least partially upon the information gathered by the detect module.
The method of detecting the current hardware configuration of a client computer, as describe herein, detects the presence or absence of a limited number of target hardware components, as opposed to scanning for each of hundreds or thousands of components within a proprietary product information database. The method of the present invention thus eliminates the time-consuming use of scanning for each item in a product information database. Furthermore, by cross-referencing the information gathered with product specifications in a proprietary product database, the current hardware configuration of the client computer may be determined more accurately than with known methods. Upgrade recommendations may then be made for compatible components with a higher degree of success than with known methods.